package com.chinacoal.hr.levelimpl.service;

import java.util.List;
import java.util.Map;

public interface WorkflowService {

    /**
     * 创建并启动流程且完成第一个节点
     *
     * @param processDefName : 流程定义名称
     * @return : java.lang.String
     * @author : YunTao.Li
     * @date : 2019/12/18 2019/12/18
     */
    public String createAndStartAndFinishFirstWorkitem(String processDefName, String processInstTitle, String processInstID, String bizID, Object recordObject) throws Throwable;

    /**
     * 完成工作项
     *
     * @param processInstID :
     * @param taskId        :
     * @param opcode        :
     * @return : void
     * @author : YunTao.Li
     * @date : 2019/12/20 2019/12/20
     */
    public void finishWorkitem(long processInstID, long taskId, String approvalContext, String opcode) throws Throwable;

    /**
     * 获得流程实例的审批历史
     *
     * @param processInstID :
     * @return : java.util.List
     * @author : YunTao.Li
     * @date : 2019/12/19 2019/12/19
     */
    public List getApprovalHistorys(String processInstID) throws Throwable;
}
